For almost as long as computers have existed, their designers and users have sought improvements to the user interface. Especially as computing power has increased, a greater portion of the available processing capacity has been devoted to improved interface design. Recent examples have been Microsoft Windows variants and Internet web browsers. Graphic interfaces provide significant flexibility to present data using various paradigms, and modern examples support use of data objects and applets. Traditional human computer interfaces have emphasized uniformity and consistency; thus, experienced users had a shortened learning curve for use of software and systems, while novice users often required extensive instruction before profitable use of a system. More recently, intuitive, adaptable and adaptive software interfaces have been proposed, which potentially allow faster adoption of the system by new users but which requires continued attention by experienced users due to the possibility of interface transformation.
While many computer applications are used both on personal computers and networked systems, the field of information retrieval and database access for casual users has garnered considerable interest. The Internet presents a vast relatively unstructured repository for information, leading to a need for Internet search engines and access portals based on Internet navigation. At this time, the Internet is gaining popularity because of its “universal” access, low access and information distribution costs, and suitability for conducting commercial transactions. However, this popularity, in conjunction with the non-standardized methods of presenting data and fantastic growth rate, have made locating desired information and navigation through the vast space difficult. Thus, improvements in human consumer interfaces for relatively unstructured data sets are desirable, wherein subjective improvements and wholesale adoption of new paradigms may both be valuable, including improved methods for searching and navigating the Internet.
Generally speaking, search engines for the World Wide Web (WWW, or simply “Web”) aid users in locating resources among the estimated present one billion addressable sites on the Web. Search engines for the web generally employ a type of computer software called a “spider” to scan a proprietary database that is a subset of the resources available on the Web. Major known commercial search engines include such names as Yahoo, Excite, and Infoseek. Also known in the field are “metasearch engines,” such as Dogpile and Metasearch, which compile and summarize the results of other search engines without generally themselves controlling an underlying database or using their own spider. All the search engines and metasearch engines, which are servers, operate with the aid of a browser, which are clients, and deliver to the client a dynamically generated web page which includes a list of hyperlinked universal resource locators (URLs) for directly accessing the referenced documents themselves by the web browser.
A Uniform Resource Identifier (RFC 1630) is the name for the standard generic object in the World Wide Web. Internet space is inhabited by many points of content. A URI (Uniform Resource Identifier is the way you identify any of those points of content, whether it be a page of text, a video or sound clip, a still or animated image, or a program. The most common form of URI is the Web page address, which is a particular form or subset of URI called a Uniform Resource Locator (URL). A URI typically describes: the mechanism used to access the resource; the specific computer that the resource is housed in; and the specific name of the resource (a file name) on the computer. Another kind of URI is the Uniform Resource Name (URN). A URN is a form of URI that has “institutional persistence,” which means that its exact location may change from time to time, but some agency will be able to find it.
The structure of the World Wide Web includes multiple servers at distinct nodes of the Internet, each of which hosts a web server which transmits a web page in hypertext markup language (HTML) or extensible markup language (XML) (or a similar scheme) using the hypertext transport protocol (http). Each web page may include embedded hypertext linkages, which direct the client browser to other web pages, which may be hosted within any server on the network. A domain name server translates a top-level domain (TLD) name into an Internet protocol (IP) address, which identifies the appropriate server. Thus, Internet web resources, which are typically the aforementioned web pages, are thus typically referenced with a URL, which provides the TLD or IP address of the server, as well a hierarchal address for defining a resource of the server, e.g., a directory path on a server system.
A hypermedia collection may be represented by a directed graph having nodes that represent resources and arcs that represent embedded links between resources. Typically, a user interface, such as a browser, is utilized to access hyperlinked information resources. The user interface displays information “pages” or segments and provides a mechanism by which that user may follow the embedded hyperlinks. Many user interfaces allow selection of hyperlinked information via a pointing device, such as a mouse. Once selected, the system retrieves the information resource corresponding to the embedded hyperlink.
One approach to assisting users in locating information of interest within a collection is to add structure to the collection. For example, information is often sorted and classified so that a large portion of the collection need not be searched. However, this type of structure often requires some familiarity with the classification system, to avoid elimination of relevant resources by improperly limiting the search to a particular classification or group of classifications. Another approach used to locate information of interest to a user, is to couple resources through cross-referencing. Conventional cross-referencing of publications using citations provides the user enough information to retrieve a related publication, such as the author, title of publication, date of publication, and the like. However, the retrieval process is often time-consuming and cumbersome. A more convenient, automated method of cross-referencing related documents utilizes hypertext or hyperlinks. Hyperlink systems allow authors or editors to embed links within their resources to other portions of those resources or to related resources in one or more collections that may be locally accessed, or remotely accessed via a network. Users of hypermedia systems can then browse through the resources by following the various links embedded by the authors or editors. These systems greatly simplify the task of locating and retrieving the documents when compared to a traditional citation, since the hyperlink is usually transparent to the user. Once selected, the system utilizes the embedded hyperlink to retrieve the associated resource and present it to the user, typically in a matter of seconds. The retrieved resource may contain additional hyperlinks to other related information that can be retrieved in a similar manner.
A well-recognized problem with existing search engines is the tendency to return hits for a query that are so incredibly numerous, sometimes in the hundreds, thousands, or even millions, that it is impractical for user to wade through them and find relevant results. Many users, probably the majority, would say that the existing technology returns far too much “garbage” in relation to pertinent results. This has lead to the desire among many users for an improved search engine, and in particular an improved Internet search engine.
In response the garbage problem, search engines have sought to develop unique proprietary approaches to gauging the relevance of results in relation to a user's query. Such technologies employ algorithms for either limiting the records returned in the selection process (the search) and/or by sorting selected results from the database according to a rank or weighting, which may be predetermined or computed on the fly. The known techniques include counting the frequency or proximity of keywords, measuring the frequency of user visits to a site or the persistence of users on that site, using human librarians to estimate the value of a site and to quantify or rank it, measuring the extent to which the site is linked to other sites through ties called “hyperlinks” (see, Google.com and Clever.com), measuring how much economic investment is going into a site (Thunderstone.com), taking polls of users, or even ranking relevance in certain cases according to advertiser's willingness to bid the highest price for good position within ranked lists. As a result of relevance testing procedures, many search engines return hits in presumed rank order or relevance, and some place a percentage next to each hit which is said to represent the probability that the hit is relevant to the query, with the hits arranged in descending percentage order.
However, despite the apparent sophistication of many of the relevance testing techniques employed, the results typically fall short of the promise. Thus, there remains a need for a search engine for uncontrolled databases that provides to the user results, which accurately correspond the desired information sought.
Therefore, the art requires improved searching strategies and tools to provide increased efficiency in locating a user's desired content, while preventing dilution of the best records with those that are redundant, off-topic or irrelevant, or directed to a different audience.
Commercial Subsidy (Advertising)
Advertisers are generally willing to pay more to deliver an impression (e.g., a banner ad or other type of advertisement) to users who are especially sensitive to advertisements for their products or are seeking to purchase products corresponding to those sold by the advertisers, and the economic model often provides greater compensation in the event of a “click through”, which is a positive action taken by the user to interact with the ad to receive further information.
This principle, of course, actually operates correspondingly in traditional media. For example, a bicycle manufacturer in generally is willing to pay more per subscriber to place advertisements in a magazine having content directed to bicycle buffs than in a general interest publication. However, this principle has not operated very extensively in the search engine marketplace, partly because there is little differentiation among the known characteristics of the users of particular search engines, and because, even after a search inquiry in submitted, there may be little basis on which to judge what user's intention or interest really is, owing to the generality or ambiguity of user's request, so that even after a search request is processed, it may be impossible to estimate the salient economic, demographic, purchasing or interest characteristics of the user in the context of a particular search. In fact, some “cookie” based mechanisms provide long-term persistence of presumed characteristics even when these might be determined to be clearly erroneous. Thus, the existing techniques tend to exaggerate short term, ignorance based or antithetical interests of the user, since these represent the available data set. For example, if a child seeks to research the evils of cigar smoking for a school class project, a search engine might classify the user as a person interested in cigar smoking and cigar paraphernalia, which is clearly not the case. Further, the demographics of a cigar aficionado might tempt an advertiser of distilled liquors to solicit this person as a potential client. The presumed interest in cigars and liquor might then result in adult-oriented materials being presented. Clearly, the simple presumptions that are behind this parade of horribles may often result in erroneous conclusions.
Although a few search engines for the mass market exist that charge a fee for use, this model has not been popular or successful. Instead, most search engines offer free access, subject to user tolerating background advertising or pitches for electronic commerce sales or paid links to sites that offer goods and services, including the aforementioned banner ads. These advertisements are typically paid for by sponsors on a per impression basis (each time a user opens the page on which the banner ad appears) or on a “click-through basis” (normally a higher charge, because user has decided to select the ad and “open it up” by activating an underlying hyper-link). In addition, most search engines seek “partners” with whom they mutually share hyperlinks to each other's sites. Finally, the search engines may seek to offer shopping services or merchandise opportunities, and the engines may offer these either globally to all users, or on a context sensitive basis responsive to a user's particular search.
Targeted Advertising
The current wide-ranging use of computer systems provides a relatively large potential market to providers of electronic content or information. These providers may include, for example, advertisers and other information publishers such as newspaper and magazine publishers. A cost, however, is involved with providing electronic information to individual consumers. For example, hardware and maintenance costs are involved in establishing and maintaining information servers and networks. One source that can be secured to provide the monetary resources necessary to establish and maintain such an electronic information distribution network includes commercial advertisers. These advertisers provide electronic information to end users of the system by way of electronically delivered advertisements, in an attempt to sell products and services to the end users. The value of a group of end users, however, may be different for each of the respective advertisers, based on the product or services each advertiser is trying to sell and the class or classification of the user. Thus, it would be beneficial to provide a system, which allows individual advertisers to pay all, or part of the cost of such a network, based on the value each advertiser places on the end users the advertiser is given access to. In addition, advertisers often desire to target particular audiences for their advertisements. These targeted audiences are the audiences that an advertiser believes is most likely to be influenced by the advertisement or otherwise provide revenues or profits. By selectively targeting particular audiences the advertiser is able to expend his or her advertising resources in an efficient manner. Thus, it would be beneficial to provide a system that allows electronic advertisers to target specific audiences, and thus not require advertisers to provide an single advertisement to the entire population, the majority of which may have no interest whatsoever in the product or service being advertised or susceptibility to the advertisement.
U.S. Pat. No. 5,724,521, expressly incorporated herein by reference, provides a method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner, which includes an index database, a user profile database, and a consumer scale matching process. The index database provides storage space for the titles of electronic advertisements. The user profile database provides storage for a set of characteristics that corresponds to individual end users of the apparatus. The consumer scale matching process is coupled to the content database and the user profile database and compares the characteristics of the individual end users with a consumer scale associated with the electronic advertisement. The apparatus then charges a fee to the advertiser, based on the comparison by the matching process. In one embodiment, a consumer scale is generated for each of multiple electronic advertisements. These advertisements are then transferred to multiple yellow page servers, and the titles associated with the advertisements are subsequently transferred to multiple metering servers. At the metering servers, a determination is made as to where the characteristics of the end users served by each of the metering servers fall on the consumer scale. The higher the characteristics of the end users served by a particular metering server fall, the higher the fee charged to the advertiser.
Each client system is provided with an interface, such as a graphic user interface (GUI), which allows the end user to participate in the system. The GUI contains fields that receive or correspond to inputs entered by the end user. The fields may include the user's name and possibly a password. The GUI may also have hidden fields relating to “consumer variables.” Consumer variables refer to demographic, psychographic and other profile information. Demographic information refers to the vital statistics of individuals, such as age, sex, income and marital status. Psychographic information refers to the lifestyle and behavioral characteristics of individuals, such as likes and dislikes, color preferences and personality traits that show consumer behavioral characteristics. Thus, the consumer variables, or user profile data, refer to information such as marital status, color preferences, favorite sizes and shapes, preferred learning modes, employer, job title, mailing address, phone number, personal and business areas of interest, the willingness to participate in a survey, along with various lifestyle information. The end user initially enters the requested data and the non-identifying information is transferred to the metering server. That is, the information associated with the end user is compiled and transferred to the metering server without any indication of the identity of the user (for example, the name and phone number are not included in the computation). The GUI also allows the user to receive inquiries, request information and consume information by viewing, storing, printing, etc. The client system may also be provided with tools to create content, advertisements, etc. in the same manner as a publisher/advertiser.
Use of Transactional Data for Marketing
In recent years, the field of data mining, or extracting useful information from bodies of accumulated raw data, has provided a fertile new frontier for database and software technologies. While numerous types of data may make use of data mining technology, a few particularly illuminating examples have been those of mining information, useful to retail merchants, from databases of customer sales transactions, and mining information from databases of commercial passenger airline travel. Customer purchasing patterns over time can provide invaluable marketing information for a wide variety of applications. For example, retailers can create more effective store displays, and can more effectively control inventory, than otherwise would be possible, if they know that, given a consumer's purchase of a first set of items, the same consumer can be expected, with some degree of probability, to purchase a particular second set of items along with the first set. In other words, it would be helpful from a marketing standpoint to know association rules between item-sets (different products) in a transaction (a customer shopping transaction). To illustrate, it would be helpful for a retailer of automotive parts and supplies to be aware of an association rule expressing the fact that 90% of the consumers who purchase automobile batteries and battery cables also purchase battery post brushes and battery post cleanser. (In the terminology of the data mining field, the latter are referred to as the “consequent.”) It will be appreciated that advertisers, too, can benefit from a thorough knowledge of such consumer purchasing tendencies. Still further, catalogue companies can conduct more effective mass mailings if they know the tendencies of consumers to purchase particular sets of items with other sets of items.
It is possible to build large databases of consumer transactions. The ubiquitous bar-code reader can almost instantaneously read so-called basket data, i.e., when a particular item from a particular lot was purchased by a consumer, how many items the consumer purchased, and so on, for automatic electronic storage of the basket data. Further, when the purchase is made with, for example, a credit card, the identity of the purchaser can be almost instantaneously known, recorded, and stored along with the basket data. As alluded to above, however, building a transaction database is only part of the marketing challenge. Another important part is the mining of the database for useful information. Such database mining becomes increasingly problematic as the size of databases expands into the gigabyte, and indeed the terabyte, range. Much work, in the data mining field, has gone to the task of finding patterns of measurable levels of consistency or predictability, in the accumulated data. For instance, where the data documents retail customer purchase transactions, purchasing tendencies, and, hence, particular regimes of data mining can be classified many ways. One type of purchasing tendency has been called an “association rule.” In a conventional data mining system, working on a database of supermarket customer purchase records, there might be an association rule that, to a given percent certainty, a customer buying a first product (say, Brie cheese) will also buy a second product (say, Chardonnay wine). It thus may generally be stated that a conventional association rule states a condition precedent (purchase of the first product) and a condition subsequent or “consequent” (purchase of the second product), and declares that, with, say 80% certainty, if the condition precedent is satisfied, the consequent will be satisfied, also. Methods for mining transaction databases to discover association rules have been disclosed in Agrawal et al., “Mining Association Rules Between Sets of Items in Large Databases”, Proc. of the ACM SigMod Conf. on Management of Data, May 1993, pp. 207-216, and in Houtsma et al., “Set-Oriented Mining of Association Rules”, IBM Research Report RJ 9567, October, 1993. See also, Agrawal et al., U.S. Pat. Nos. 5,615,341, 5,796,209, 5,724,573 and 5,812,997. However, association rules have been limited in scope, in the sense that the conditions precedent and subsequent fall within the same column or field of the database. In the above example, for instance, cheese and wine both fall within the category of supermarket items purchased.
U.S. Pat. No. 5,844,305, expressly incorporated herein by reference, relates to a system and method for extracting highly correlated elements (a “categorical cluster”) from a body of data. It is generally understood that the data includes a plurality of records, the records contain elements from among a set of common fields, the elements have respective values, and some of the values are common to different ones of the records. In an initialization step, for each of the elements in the records, an associated value, having an initial value, is assigned. Then, a computation is performed, to update the associated values based on the associated values of other elements. The computation is preferably iteratively to produce the next set of updated values. After the computation is completed, or after all the desired iterations are completed, the final results, i.e., the updated associated values are used to derive a categorical cluster rule. The categorical cluster rule provides the owner of the data with advantageously useful information from the data.
Hierarchal Information Presentation
As the amount of information available to a computer user increases, the problem of coherently presenting the range of available information to the computer user in a manner which allows the user to comprehend the overall scope of the available information becomes more significant. Furthermore, coherent presentation of the relationship between a chosen data unit of the available information to the rest of the available information also becomes more significant with the increase of information available to the user. Most of the existing methods utilize lists (e.g., fundamentally formatted character-based output), not graphic models, to indicate the structure of the available information. The main problem associated with the use of lists is the difficulty of indicating the size and complexity of the database containing the available information. In addition, because the lists are presented in a two-dimensional format, the manner of indicating the relationship between various data units of the available information is restricted to the two-dimensional space. Furthermore, because presentation of the lists normally requires a significant part of the screen, the user is forced to reduce the amount of screen occupied by the list when textual and visual information contained in the database is sought to be viewed. When this occurs, the user's current “position” relative to other data units of the available information is lost. Subsequently, when the user desires to reposition to some other data unit (topic), the screen space occupied by the lists must be enlarged. The repeated sequence of adjusting the screen space occupied by the lists tends to distract the user, thereby reducing productivity.
One attempt to alleviate the above-described problem is illustrated by U.S. Pat. No. 5,021,976, expressly incorporated herein by reference, which discloses a system for enabling a user to interact with visual representations of information structures stored in a computer. In a system of this type, a set of mathematical relationships is provided in the computer to define a plurality of parameters which may be of interest to the user, which mathematical relationships are also capable of indicating a degree of correlation between the defined parameters and segments of information contained in a defined information system. In addition, an “automatic icon” with multiple visual features is provided to enable the user to visualize the degree of correlation between the parameters of interest to the user and the particular data unit stored in the computer that is being examined by computer. As the degree of correlation for a given parameter changes, the visual feature representing that parameter will change its appearance.
Another attempt to coherently present a large body of information to a computer user is illustrated by U.S. Pat. No. 5,297,253, expressly incorporated herein by reference, which discloses a computer-user-interface navigational system for examining data units stored in the memory of a computer system. In this navigational system, the user interface shows a continuous and automatically updated visual representations of the hierarchical structure of the information accessed. By using an input/output device to manipulate icons that appear in a navigational panel, the user can navigate through the information hierarchy. As the user traverses the information hierarchy, a node icon representing each level in the hierarchy accessed by the user is displayed. The user is also able to directly select any level in the information hierarchy between the entry point and the level at which the user is currently located.
Yet another approach to coherently presenting a large body of information to a computer user is “SEMNET,” described in: Raymonde Guindon, ed., Cognitive Science and Its Applications for Human-Computer Interaction, (Hillsdale, N.J.: Lawrence Erlbaum Associates, Inc., 1988), 201-232. SEMNET is a three-dimensional graphical interface system that allows the users to examine specific data units of an information base while maintaining the global perspective of the entire information base. The SEMNET developers propose organizing component data units of an information base into various levels of hierarchy. At the lowest level of hierarchy, the most basic data units are organized into various sets, or cluster-objects of related information. At the next level of hierarchy, related cluster-objects from the lower hierarchical level are organized into a higher-level cluster-object. Continuing in this manner, SEMNET achieves a hierarchical organization of the information base. In the graphic display, related data units within a cluster-object are connected by lines, or arcs. In addition, using a “fisheye view” graphic presentation, SEMNET displays the most basic data units near the chosen data unit but only cluster-objects of increasing hierarchy as the distance increases from the chosen data unit. In this manner, the user is able to visualize the organization of the information base relative to the chosen data unit. See, U.S. Pat. No. 5,963,965, expressly incorporated herein by reference.
U.S. Pat. No. 5,812,134, expressly incorporated herein by reference, relates to a system for interactive, dynamic, three-dimensional presentation of a database structure, seeking to allows the user to efficiently navigate through the database to examine the desired information. The system graphically depicts the organization of the information base as “molecules” consisting of structured parallel “threads” of connected nodes, each encompassing a specific aspect of the overall database. Within a given thread, the component nodes, which share a commonality of subject, are arranged in a natural, linear progression that reflects the organizational structure of the information subject represented by the thread, thereby providing the user with a visual guide suggesting the appropriate sequence of nodes to be viewed. By providing a hierarchical representation of the organizational structure of the entire database, the navigational system provides the user with both the “position” of the information unit being currently examined relative to the remainder of the database, as well as the information regarding the overall size and complexity of the database. The system also provides the user with the capability to define one or more “customized” navigation “paths” over the database, as well as copy and modify existing units of information. Thus, a taxonomy is constructed and employed to assist the user.
U.S. Pat. No. 5,774,357, expressly incorporated herein by reference, relates to a system that is adaptive to either or both of a user input and a data environment. Therefore, the user interface itself and/or the data presented through the user interface, such as a web browser, may vary in dependence on a user characteristic and the content of the data.
User Modeling
User modeling means to create a model of the user that contains information about the user that is relevant for a particular system. Thus, the user modeling system seeks to define sufficient characteristics of the user to determine the prospective actions or preferences of the user, and employ these characteristics to make predictions. Often, the user modeling system is used interactively with the user, facilitating the use of the system by intelligently predicting the user's inputs. On the other hand, a sufficiently accurate and constrained user model may also be used as part of an autonomous intelligent agent, i.e. a system that acts on behalf of the user to interact with other systems or persons.
The scope of the user model may include, for example, characteristics of the user which are independent of content, such as language, reading level, fields of expertise, physical impairments, and the like, as well as content specific characteristics, such as the user's taste and interests for motion picture entertainment, for example as part of a film recommending system, or the user's knowledge of a given academic subject, for an educational or testing system.
User preferences may be time dependent, and therefore diurnal or seasonal variations may be important factors in defining an accurate model of the user, i.e., the prediction of the intent and/or desires of the user in a respective context. Linear predictions, based on correlations, may be useful for extracting these patterns from observed sequences. More complex models, such as Markov models, may also be employed as appropriate. Often, the decision space is segmented into multiple operating regions, each defined so that the associated model is linear, e.g., MARS. Alternately, a nonlinear model, such as a neural network, may be implemented. Further, a combination of arbitrary type models and segmented decision space may be employed. A particular advantage of a segmented space is that the model for each respective segment is comparatively simpler, and may often be updated separately from other segments. The segmented architecture is especially advantageous where such models are implemented in applets, wherein the respective applet is simplified, and its execution speeded, by providing a narrower scope. Another advantage of a segmented user model architecture is that, when employed in conjunction with a collaborative filtering scheme, it may facilitate accounting for a greater range of user characteristics, while providing specific preferences.
It is also noted that at a plurality of user models may be employed, for example a content-independent and a content dependent type, with the outputs combined. These models may be segmented along common boundaries, or segmented independently.
Different systems use different techniques for constructing and implementing a user model. The simplest and most straightforward is a technique of a user survey, requiring some dedicated activity of the user toward defining the user model. A second technique monitors the activities of the user to detect patterns and actions indicative of user characteristics.
Intelligent agents can be constructed by monitoring or observing the user's actions with the system, and thereby determining characteristics, habits, tendencies or features of the user. Frequently visited pages, a request for an explanation of a technical term, often or seldom used links and functions are examples of things that can be examined. This is closely associated with machine learning, which means that the system learns the common actions and preferences of the user. Intelligent agents are often used for machine learning and this is a topic of artificial intelligence. This often requires the user to give the system some initial values about his or her knowledge, goals, experience etc. The initial values, or default values if not explicitly given by the user, are used for building a user model that will be altered when the agent discovers new things about the user.
U.S. Pat. No. 5,855,015, expressly incorporated herein by reference, proposes a system for retrieval of hyperlinked information resources which does not require a specific user query to locate information resources of interest, and which actively explores a hyperlinked network to present interesting resources to a user. Heuristics and relevance feedback may be used to refine an exploration technique, or to present resources of interest to a user. The proposed system continually adapts to changing user interests. A system for retrieval of hyperlinked information resources is provided which includes a user interface connected to a programmed microprocessor which is operative to explore the hyperlinked information resources using a first heuristic to select at least one information resource, to present the at least one information resource to the user via the user interface based on a second heuristic, to accept feedback from the user via the user interface, the feedback being indicative of relevance of the at least one information resource, and to modify the first and second heuristics based on the feedback. The patent also proposes a method for retrieval of hyperlinked information resources that includes exploring the hyperlinked information resources using a first heuristic to select at least one information resource, presenting the at least one information resource to the user via a user interface based on a second heuristic, accepting feedback from the user via the user interface indicative of relevance of the at least one information resource, and modifying the first and second heuristics based on the feedback. In one embodiment, the system utilizes a series of training examples, each having an associated ranking, to develop the first and second heuristics that may be the same, similar, or distinct. The heuristics utilize a metric indicative of the relevance of a particular resource to select and present the most relevant information to the user. The user provides feedback, such as a score or rating, for each information resource presented. This feedback is utilized to modify the heuristics so that subsequent exploration will be guided toward more desirable information resources.
The system of U.S. Pat. No. 5,855,015 actively explores a hyperlinked network and presents a manageable amount (controllable by the user) of information to the user without a specific information query. Thus, the method allows selection of information of interest that may have been excluded by a precisely articulated query. Furthermore, rather than inundating the user with information selected from a general, broad query, the amount of information presented to the user is limited so as to minimize the time and effort required to review the information. This system provides ability to automatically learn the interests of the user based on a number of ranked training examples. Once exploration and presentation heuristics are developed, a hyperlinked network may be explored, retrieving and presenting information resources based upon the heuristics established by the training examples. The system is capable of continually adapting the exploration and presentation heuristics so as to accommodate changing user interests in addition to facilitating operation in a dynamic hyperlinked information environment.
U.S. Pat. No. 5,890,152, expressly incorporated herein by reference, relates to a Personal Feedback browser and Personal Profile database for obtaining media files from the Internet. A Personal Feedback browser selects media files based on user-specified information stored in the Personal Profile database. The Personal Profile database includes Profile Objects that represent the interests, attitude/aptitude, reading comprehension and tastes of a user. Profile Objects are bundles of key words/key phrases having assigned weight values. Profile Objects can be positioned a specified distance from a Self Object. The distance from the Profile Object to the Self Object represents the effect the Profile Object has in filtering and/or selecting media files for that user. The Personal Feedback browser includes a media evaluation software program for evaluating media files based on a personal profile database. The Personal Profile database is also adjusted based upon user selection and absorption of media files.
Another way of creating a user model is through the use of collaborative filtering. In this case, the user provides some initial information as well. For a collaborative filter, the user typically identifies himself or herself with a class of users, wither by predefined or adaptive categories. Thus, the emphasis of information gathering is not on the user's own knowledge or goals, but rather personal data such as age, profession or interests. The system then compares this user to other users and looks for users with similar answers to these questions. A user model is then created based on the profiles of similar users. Thus, collaborative filtering techniques typically require that a broad range of user characteristics be acquired and stored without aggregation, for later analysis and correlation to a given pattern.
According to one embodiment, during user interaction with the system, either including an explicit programming step such as a user survey, or through observation of the user, a user's characteristics are determined. Typically, it is too much of a burden on the user to explicitly obtain a complete profile. Therefore, any such profile is acquired in a goal-dependent or context sensitive manner. For example, a set of profiles are related by a decision tree. The user then explicitly or implicitly defines the necessary characteristics to traverse the decision tree to define an unambiguous profile, or to arrive at a set of compromises to define a hybrid profile. Since these profiles are goal-directed, the process of defining the profile is inherent in achieving the goal.
The particular profiles are, for example, defined by a logical analysis of the decision space, or defined by an analysis of a population of users, with each profile representing a cluster within the scope of the decision space. In the former case, it is often difficult to make presumptions about the user outside of the particular decision process; in the later case, by identifying a set of individuals within the population with broadly correlated characteristics with the user, it may be possible to infer user characteristics unrelated to the decision process.
Typically, after an explicit process of defining user characteristics, the system evolves into an adaptive mode of operation wherein the profiles are modified or updated to more accurately correspond to the specific user. Further, as the characteristics of the user become more fully available, collaborative filtering may be employed to make better presumptions regarding unknown characteristics of the user. It is also noted that the system preferably does not presume that the user has a consistent set of characteristics, and thus allows for changes over time and cyclic variations. Preferably, these changes or cyclic variations are analyzed and employed to extrapolate a future state.
A users' knowledge of the subject represented in the hypermedia is a particularly important user feature for adaptive hypermedia systems. Many adaptive presentation techniques rely on a model of the users' knowledge of the subject area as basis for adaptation. This means that an adaptive hypermedia system that relies on an estimate of the users' knowledge should update the user model when the user has presumably learned new things. Further, a preferred user model according to the present invention preferably also models decay of memory.
There are two common ways of representing users' knowledge in an adaptive hypermedia system. The most often used model is the overlay model that divides the hypermedia universe into different subject domains. For each subject domain in the hypermedia universe, the user's knowledge is specified in some way. The user's knowledge of a particular subject domain can be given the value known or unknown, or for instance a fuzzy semantic variable such as good, average or poor. On the other hand, a numeric or continuous metric may be provided. The user's knowledge may also be represented as a value of the probability that the user knows the subject. An overlay model of the user's knowledge can then be represented as a set of concept-value pairs, one pair for each subject. Overlay models were originally developed in the area of intelligent tutoring systems and student modeling, Greer, J. E., & McCalla, G. I. (Eds.): “Student Modeling: The Key to Individualized Knowledge-Based Instruction” NATO ASI Series F Vol. 125 (1993) Berlin: Springer-Verlag, but are also very useful for adaptive hypermedia systems. The main advantage of the overlay model is that users' knowledge on different topics can be measured independently. See, also Gaines, Brian R., and Shaw, Mildred L. G., “Concept Maps as Hypermedia Components”, (Internet); Akoulchina, Irina, and Ganascia, Jean-Gabriel, “SATELIT-Agent: An Adaptive Interface Based on Learning Agents Interface Technology”, In Anthony Jameson, Cecile Paris and Carlo Tasso (Eds), User Modeling: Proc. Of the Sixth Intl. Conf. UM97, Vienna, N.Y.: Springer Wein, N.Y. (1997); Benaki, Eftihia, Karkaletis, Vangelis A., Spyropoulos, Constantine D, “Integrating User Modeling Into Information Extraction: The UMIE Prototype”, In Anthony Jameson, Cecile Paris and Carlo Tasso (Eds), User Modeling: Proc. Of the Sixth Intl. Conf. UM97, Vienna, N.Y.: Springer Wein, N.Y. (1997); Maglio, Paul P., and Barret, Rob, “How To Build Modeling Agents to Support Web Searchers” In Anthony Jameson, Cecile Paris and Carlo Tasso (Eds), User Modeling: Proc. Of the Sixth Intl. Conf. UM97, Vienna, N.Y.: Springer Wein, N.Y. (1997).
The other approach, apart from the overlay model, is the stereotype user model, in which every user is classified as one of a number of stereotypes concerning a particular subject or area. There can be several subareas or subjects, so one user can be classified as a different stereotype for different subjects. For instance, a novice stereotype, an intermediate stereotype and an expert stereotype can be defined for one subject in a system, and every user is therefore classified as one of an expert, novice or intermediate on that particular subject. This scheme is much simpler to implement, but caries the disadvantage of not being able to tailor the appearance of the system to every individual user. Hohl, H., Böcker, H., Gunzenhäuser R.: “Hypadapter: An adaptive hypertext system for exploratory learning and programming”, User Modeling and user adapted Interaction 6, 2-3, (1996) 131-156, have shown that overlay modeling and stereotype modeling can be combined in a successful way. The stereotype model is used for new users to quickly create a reasonably good user model. Then the overlay model is used with initial values set by the stereotype model.
Users' goals often change from system usage session to session or even within a single session. The user's goal is often highly dependent on the kind of system employed. In educational hypermedia systems, the goal is often to learn a particular subject, or to solve a problem. In information retrieval systems, the goal can be to find a particular piece of information. In an institutional hypermedia system, the goal can be simply to do everyday work, which may be less easily described in generic terms. In systems where the set of goals is relatively small are unrelated to each other, Höök, K., Karlgren, J., Waern, A., Dahlbäck, N., Jansson, C. G., Karlgren, K. and Lemaire, B.: “A glassbox approach to adaptive hypermedia”; User Modeling and User-Adapted Interaction, 6, 2-3, (1996) 157-184, the system simply includes this goal in the user model. More complex and advanced systems, where goals cannot be separated distinctly, require more advanced inclusion and distinction of goals in the user model. One way of dealing with this is to create goal-value pairs for every possible goal in the user model, where the value is the probability that the user has this particular goal.
In some adaptive hypermedia systems, the user's background is considered relevant. The user's background means all information related to the user's previous experience, generally excluding the subject of the hypermedia system, although this exclusion is not necessary in all cases. This background includes the user's profession, experience of work in related areas and also the user's point of view and perspective.
The user's experience in the given hypermedia system means how familiar the user is with the appearance and structure of the hyperspace, and how easy the user can navigate in it. The user may have used the system before, but does not have deep knowledge of the subject. On the other hand, the user can know a lot about the subject, but have little experience of the hypermedia system. Therefore it is wise to distinguish between the user's knowledge and the user's experience, since optimal adaptations for each factor may differ.
The user's preferences are used in adaptive information retrieval systems mostly where they are the only stored data in the user model. Users' preferences are considered special among user modeling components, since they cannot be deducted by the system itself. The user has to inform the system directly, or by giving simple feedback to the system's actions. This suggests that users' preferences are more useful in adaptable systems than in adaptive systems. However, users' preferences can be used by adaptive hypermedia systems as well, as shown by Höök, K., Karlgren, J., Waern, A., Dahlbäck, N., Jansson, C. G., Karlgren, K. and Lemaire, B.: “A glassbox approach to adaptive hypermedia”; User Modeling and User-Adapted Interaction, 6, 2-3, (1996) 157-184. Höök et al. have found that adaptive hypermedia systems can generalize the user's preferences and apply them on new contexts. Preferences are often stored as numeric values in the user profile, contrary to the case for other data, which is often represented symbolically. This makes it possible to combine several users' preferences, in order to formulate group user models. Group models are useful when creating a starting model for a new user, where this user can define his or her preferences, and then a user model is created based on the user models of other users who are in the same “preference group”.
Adaptive navigation support is used for helping the user to find the right paths through the hyperspace, by adapting the link presentation to the user's goals, knowledge, etc. Brusilovsky, P.: “Methods and techniques of adaptive hypermedia”; User Modeling and User-Adapted Interaction, 6, 2-3 (1996) 87-129, has found five different ways of adapting links to a user: direct guidance, sorting, hiding, annotation and map adaptation. Direct guidance means that the system suggests which links are best for the user to follow according to the user's goal, etc., in the user model. Sorting is an extension of direct guidance; all links are given a value according to how relevant they are for the user's goals etc. Hiding simply means that links that are considered not interesting for the user at the moment are hidden. In adaptive annotation systems, links are given a sort of comment about the current state of the node behind the link, for instance “not ready to be read yet”. Map adaptation takes into account the human-computer interaction part. This is the only technique capable of fully adapting the layout of a page.
Machine learning and use of intelligent agents is a more useful technique than collaborative filtering, with respect to adapting the user interface to different users' needs. The reason for this is that the same user can have different needs at different times and therefore the system must respond to the user, and examine the user's actions, in order to understand what the user needs. In other systems that use user modeling, for instance in film recommending systems, the system already knows what the user wants and the interaction with the user is not as important.
U.S. Pat. No. 6,012,051 (Sammon, et al.), expressly incorporated herein by reference, relates to a system for processing user profiles to determine product choices likely to be of interest.
U.S. Pat. No. 6,006,218 (Breese, et al.), expressly incorporated herein by reference, relates to a method and apparatus for retrieving, sorting and/or processing information based on an estimate of the user's knowledge or familiarity with an object.
U.S. Pat. No. 6,012,052 (Altschuler, et al.), expressly incorporated herein by reference, relates to a method and apparatus for building resource transition probability models for use in various manners.
U.S. Pat. No. 6,014,638 (Burge, et al.), expressly incorporated herein by reference, relates to a system for customizing computer displays in accordance with user preferences. In accordance with the present invention, the user displays may thus be customized in accordance with a past history of use, including navigational choices, and personal characteristics and preferences.
U.S. Pat. No. 5,978,766 (Luciw), expressly incorporated herein by reference, relates to a system and method for suggesting nodes within a choice space to a user based on explicitly defined and/or observed preferences of the user.
U.S. Pat. No. 5,977,964 (Williams, et al.), expressly incorporated herein by reference, relates to a method and apparatus for automatically configuring a system based on a user's monitored system interaction.
U.S. Pat. No. 5,974,412 (Hazelhurst, et al.), expressly incorporated herein by reference, relates to an intelligent query system for automatically indexing information in a database and automatically categorizing users.
U.S. Pat. No. 5,970,486, (Yoshida, et al.), expressly incorporated herein by reference, relates to a method and apparatus for creating situation-dependent keywords, based on user characteristics and preferences, which are then used to define a query.
U.S. Pat. No. 5,963,645 (Kigawa, et al.), expressly incorporated herein by reference, relates to a system for receiving and employing personalized broadcast program metadata.
U.S. Pat. No. 5,801,747 (Bedard), expressly incorporated herein by reference, relates to a method and apparatus for monitoring a user's content consumption, to infer user preferences therefrom.
U.S. Pat. No. 5,758,259 (Lawler), expressly incorporated herein by reference, also relates to a user preference profile determination system which monitors user activity.
U.S. Pat. No. 5,945,988 (Williams, et al.), expressly incorporated herein by reference, further relates to a similar system for dynamically updating inferred user preferences based on user activity.
U.S. Pat. No. 6,005,597 (Barrett, et al.), expressly incorporated herein by reference, relates to a system and method for monitoring user content consumption and creating a dynamic profile based thereon, which is then used to sort future available content.
U.S. Pat. No. 5,973,683 (Cragun, et al.), expressly incorporated herein by reference, relates to a system for the dynamic regulation of television viewing content based on viewer profile and viewer history.
U.S. Pat. No. 5,946,490 (Lieberherr, et al.), expressly incorporated herein by reference, relates to an automata-theoretic approach compiler for adaptive software. Such a compiler could be used, for example, to produce customized applets for users representing a set of search results, or incorporating user profile data. See, also:
Boyle C. and Encarnacion A. O.: “MetaDoc: an adaptive hypertext reading system”; User modeling and User-Adapted Interaction, 4 (1994) 1-21.
Brusilovsky, P., Eklund, J.: “A study of user model based link annotation in educational hypermedia”; Journal of Universal Computer Science, Vol. 4 No 4 (1998) 429-448.
Chin, D.: “User Modeling in UC: the Unix Consultant”; Proceedings of the CHI-86 Conference, Boston (1986)
Moore, J. D. & Swartout, W. R.: “Pointing: A way toward explanation dialogue”; Eight National Conference on Artificial Intelligence, (1989) 457-464.
[AVANTI homepage] http://zeus.gmd.de/projects/avanti.html
Fink, J., Kobsa, A., Schreck, J.: “Personalized hypermedia information provision through adaptive and adaptable system features: User modeling, privacy and security issues” http://zeus.gmd.de/UM97/Fink/Fink.html
Eftihia Benaki, Vangelis A. Karkaletsis, Constantine D. Spyropoulos, “Adaptive Systems and User Modeling on the World Wide Web”, Proceedings of the workshop, Sixth International Conference on User Modeling, Chia Laguna, Sardinia, 2-5 June 1997
Brajnik, G., Guida, G., Tasso, C., (1990): User modeling in Expert Man-Machine Interfaces: A case study in Intelligent Information Retrieval, in IEEE Transactions on systems, man, and cybernetics, 20:166-185.
Brajnik Giorgio and Carlo Tasso, (1994): A shell for developing non-monotonic user modeling systems in International Journal of Human Computer Studies, 40:31-62.
Croft, B. and Thompson, R., (1986): An overview of the IR Document Retrieval System, in Proceedings of the 2nd Conference on Computer Interfaces and Interaction for Information Retrieval.
Karkaletsis, E., Benaki, E., Spyropoulos, C., Collier, R., (1996): D-1.3.1: Defining User Profiles and Domain Knowledge Format, ECRAN.
Kay, J., (1995): The um toolkit for Cooperative User Modeling, in User Modeling and User-Adapted Interaction, 4:146-196.
Jon Orwant, (1993): Doppelganger Goes to School: Machine Learning for User Modeling, M.Sc. thesis at MIT.
J. Orwant, “For want of a bit the user was lost: Cheap user modeling”, MIT Media Lab, Vol. 35, No. 3&4 (1996).
Rich, E., (1983): Users are individuals: individualising user models in International Journal of Man-Machine Studies, 18:199-214
Collaborative Filters
Collaborative filtering is a process that seeks to determine common habits for a group of individuals having a common characteristic. The information is commercially valuable, for example, because knowing what a consumer has purchased, it is possible to statistically predict what else he or she might buy, and to suggest such a purchase to the consumer. This collaborative filtering is preferably used in conjunction with a past history of the user himself, providing a powerful tool for predicting consumer behavior and preferences.
Collaborative filters presume characteristics of the user based on a class identification of the user. A collaborative filter may be adaptive, meaning that it is updated based on actions subsequent to the classification of the user relating to the success or quality of the classification. According to an adaptive embodiment of a collaborative filter of the present invention, therefore, it is preferred that the client system, either concurrently with use of the system by the user, or subsequently, transmit to the server sufficient information to update the collaborative filter for more accurately classifying the user and/or for more accurately defining the characteristics of a respective classification.
Collaborative filtering is often used in systems that continuously present new things to their users such as film recommending systems and personally adapted news. If the user does not like one suggestion from the system, he or she tells the system that this material is not interesting and the user profile is updated. Typically, the weight afforded to adaptive features is low, and indeed the feedback from one user is just one input to the system, and thus will typically not cause a major change in the user profile, since most of it still is valid. Systems that adapt the user interface to different users' needs often need to give the user more control over the adaptation process. It is much more difficult to predict the user's preferences correctly in these systems since they may vary with time. For instance, the user's knowledge of a subject can be a component in the user model, and it is hard for the system to predict exactly when a user has learned something new. The system needs some help from the user, and what the user says is more important than the current user model. The user model has to be modified completely to what the user has said. Therefore, intelligent agents and machine learning are preferred in these systems.
Collaborative filters and user profiles necessarily require that personal user information be employed. This personal information may include private user information, such as demographics, preferences, past purchase history, media consumption habits, and the like, or confidential information including trade secrets, or information otherwise not intended for publication. The unrestricted release and distribution of this private user information, or the risk of dissemination, is typically undesirable, from the user's viewpoint. In the case of collaborative filtering systems, this information must be stored centrally, thereby creating a risk of breach. In the case of adaptive personal profile systems, client-side filtering may be employed; however, this necessarily entails transmission of a greater amount of information to the user than is presented to the user. Client-side filtering requires that all information be transferred to the client system, which is often expensive or untenable. In general, any time valuable personal profile information exists, even in when physically in a client system, a risk of misuse or misappropriation exists.
The release and distribution of private user information, such as demographics, preferences, past purchase history, media consumption habits, and the like, typically is avoided, and may be limited by law or agreement. Therefore, one option available for filtering or processing information based on this information is at the client system, where the private information need not be released or distributed. For example, see U.S. Pat. No. 5,920,477, expressly incorporated herein by reference, and Metabyte Inc., www.mbtv.com, which disclose systems for determining user preference profiles for television programs, implementing a client-side filter. However, this requires that all (unfiltered) information be transferred to the client system, for subsequent filtering, which is often expensive or untenable. Further, this requires computational resources at the client for filtering the content. However, in various circumstances, such techniques may be employed.